Skip to content

Wire reproducible seed into native build - #196

Merged
neuromechanist merged 1 commit into
mainfrom
feature/native-seed-param
Jul 19, 2026
Merged

Wire reproducible seed into native build#196
neuromechanist merged 1 commit into
mainfrom
feature/native-seed-param

Conversation

@neuromechanist

Copy link
Copy Markdown
Member

Summary

Adopts the reproducible-seed version of the amica15 source (sccn/amica PR #54, supersedes #53) into pyAMICA's native binary build. The CI-built release binaries (release-binaries.yml) now support a seed option in input.param: a run's random initialization is reproducible when seed is set, clock-random otherwise.

Change

Testing

Built the shim binary locally (Apple Silicon gfortran) and ran the bundled 32-ch sample, single-threaded (deterministic reductions):

  • Two runs with seed 42: W byte-identical (LL -3.4570950991 both) -> reproducible.
  • Two runs with no seed: W differs (LL -3.4571252798 vs -3.4571719932) -> clock-random.

--pin-seed applies cleanly (3 anchors, clock pinned); ruff + ty pass.

Notes

  • The release binaries rebuild via release-binaries.yml on a release (or manual workflow_dispatch), not on this merge -- cut a release / dispatch to publish binaries carrying the option.
  • Exposing seed through the AMICANative Python engine (pass from Python, not just a hand-written input.param) is a natural follow-up.

@neuromechanist
neuromechanist merged commit cd42cfd into main Jul 19, 2026
7 checks passed
@neuromechanist
neuromechanist deleted the feature/native-seed-param branch July 19, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant